package com.simple.datax.dao.impl;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Repository;

import com.simple.base.dao.BaseDAO;
import com.simple.datax.dao.IDataxProcingDAO;
import com.simple.datax.vo.DataxProcingVO;
import com.simple.util.common.StringUtil;
import com.simple.util.object.PageInfoBean;

@Repository("dataxProcingDAO")
public class DataxProcingDAOImpl extends BaseDAO implements IDataxProcingDAO{

	@Override
	public DataxProcingVO findById(String fcRecvRawMsgId) {
		return (DataxProcingVO)super.get(DataxProcingVO.class, fcRecvRawMsgId);
	}

	@Override
	public List<DataxProcingVO> findAll() {
		return super.query(DataxProcingVO.class);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<DataxProcingVO> findDataxProcingVOByPage(
			PageInfoBean pageInfoBean, String fcRecvRawMsgId) {
		final Map<String, Object> paramMap = new LinkedHashMap<String,Object>();
        final StringBuffer sb = new StringBuffer(300);
        
        sb.append( "select  d from DataxProcingVO d where 1>0 " );
        if(!StringUtil.isNull(fcRecvRawMsgId)){
            sb.append( " and d.fcRecvRawMsgId like :fcRecvRawMsgId" );
            paramMap.put("fcRecvRawMsgId", "%" + fcRecvRawMsgId + "%");
        }
        sb.append( " order by d.fcRecvRawMsgId desc" );
        return (List<DataxProcingVO>) super.queryListByPage("d.fcRecvRawMsgId", sb.toString(), paramMap, pageInfoBean);
	}

}
